Repository navigation
docs(android): UI Kit ringing pages for v6.2.0 - #607
Conversation
Restore the Android UI Kit ringing docs from #561, held back in 63ef635 and 3467256 until the UI Kit release. UI Kit 6.2.0 is out on Calls SDK 5.1.0 and Push Notifications SDK 2.0.0. - ui-kit/android: calling-integration, call-features, incoming-call, outgoing-call, call-buttons, call-logs, methods, color-resources, sound-manager, troubleshooting, upgrading-from-v5, getting-started*, llms-android-v6 back to their #561 text; new ongoing-call page and its nav entry in docs.json. - Push and Calls SDK pages: the UI Kit sentences (sample card, Gradle example, CometChatUIKit.logout, theme note, minSdk 28 with the UI Kit) return; the SDK-direct details added since stay (compileSdk 36 / AGP 8.9.1, the answer-activity join link, CometChatCalls.logout, the dashboard setting for mixed legacy/new ringing). - Permission wording: microphone, and the camera only for a video call (CallRingingUtils.permissionsForCallType at v6.2.0). - Keep the chatuikit-core-android artifact coordinate. Verified against the v6.2.0 tag: every class and function named exists; internal links and anchors resolve; docs.json parses. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Automations to automatically generate PRs for you. |
jitvarpatil
left a comment
There was a problem hiding this comment.
🤖 Review Buddy (review-docs-pr)
Recommendation: request changes. Automated review; the final decision stays with a maintainer.
TL;DR: The structure is safe: no build breaks, no 404s, no broken links. The class and function names I spot-checked exist at v6.2.0. But the whole PR rests on one false claim: that the UI Kit brings the Calls SDK. It doesn't. In all three UI Kit modules at v6.2.0, calls-sdk-android is compileOnly. The published 6.2.0 POMs on Cloudsmith (chatuikit-kotlin-android, chatuikit-compose-android, chatuikit-core-android) don't list it. Every v6.2.0 sample app (master-app-*, sample-app-*-push) adds implementation(libs.calls.sdk.android) itself. This PR also removes the calls-sdk-android line from every Gradle snippet and deletes the NoClassDefFoundError warning. So someone who follows Calling Integration as written gets setEnableCalling(true) without the Calls SDK, and the app crashes in Application.onCreate.
P0: blocker
-
The pages say the UI Kit includes
calls-sdk-android, but it doesn't, and following them crashes the app at launch. Atv6.2.0,chatuikit-core/build.gradle.kts:140,chatuikit-kotlin/build.gradle.kts:209andchatuikit-compose/build.gradle.kts:207all usecompileOnly(libs.calls.sdk.android). The POM is generated from theimplementationconfiguration, socompileOnlydeps never make it in. I confirmed this against the published 6.2.0 POMs. WithenableCallingon and no Calls SDK,initCometChatCalls()throwsNoClassDefFoundError(the warning this PR removes). Affected lines:ui-kit/android/calling-integration.mdx:36: "The UI Kit brings the Calls SDK". Neither Step 1 Gradle snippet hascalls-sdk-android. The Note at:67makes declaring it sound like an optional version pin.ui-kit/android/call-features.mdx:10-11: "(bringscalls-sdk-android)".ui-kit/android/call-logs.mdx:37: "The Calls SDK ships with the UI Kit; theNoClassDefFoundErrorrow applies only to builds that exclude it". The real situation is the opposite: every build excludes it unless the app adds it.ui-kit/android/getting-started.mdx:18,44,117,132,141,getting-started-kotlin.mdx:17,51,92,104andgetting-started-jetpack.mdx:17,51,97,109: "ships with / comes with / brings in". TheenableCallingcrash warning is replaced by a Note that drops the crash.notifications/android-push-notifications.mdx:90,104: the UI Kit Gradle example has no Calls SDK, and the text says "6.2.0 or later, which brings the Calls SDK".ui-kit/android/llms-android-v6.mdx:138: drops theNoClassDefFoundErrorrow, so an agent can't map the crash to its fix.ui-kit/android/troubleshooting.mdx:81: "Call buttons not appearing →enableCallingnot set" needs a row for the missing artifact.
Fix: add
implementation("com.cometchat:calls-sdk-android:5.1.0")to every UI Kit calling snippet (Step 1 tabs, getting-started ×3, push page TOML +dependencies). Reword the "brings / ships with" sentences as "add the Calls SDK alongside the UI Kit". Restore theenableCalling⇒ Calls SDK artifact warning and the llms troubleshooting row. If the UI Kit is meant to bring the Calls SDK, that's a UI Kit change (api/implementation+ POM). The docs shouldn't say it until a release ships it.
P1: should fix before merge
- The SDK-direct Gradle coordinates are gone from the generic Push page.
notifications/android-push-notifications.mdx:60-70,90: the TOML dropscometchat-sdk(chat-sdk-android) andcometchat-calls(calls-sdk-android5.1.0). The UI Kit becomes the only listed path. This page serves SDK-only and calls-only apps too (:106says "a calls-only app ships without it"), and they no longer get the artifact names. Keep both paths, for example as UI Kit / SDKs tabs. Once #1 is fixed, the UI Kit tab needscalls-sdk-androidas well.
P2: nits
ui-kit/android/ongoing-call.mdx:149: Prerequisites say "RECORD_AUDIOandCAMERAdeclared in the manifest".calling-integration.mdx:237andupgrading-from-v5.mdx:385say "There is nothing to declare … merge into your manifest". Use the same wording on all three pages.ui-kit/android/getting-started.mdx:45: "Gradle plugin 4.0.1 or later" (unchanged line) now sits next to the Java 17 bump. It contradicts the AGP 8.9.1 /compileSdk36 requirement that push ringing adds (stated on the Push and migration pages). Update it to 8.9.1.ui-kit/android/methods.mdx:78:setCallSettingsBuilderis listed as takingCometChatCalls.SessionSettingsBuilder. Atv6.2.0the signature issetCallSettingsBuilder(builder: Any)(UIKitSettings.kt:196). Add "(typedAnyso the UI Kit compiles without the Calls SDK)" so readers aren't surprised.
What passed
- Build is safe: 0 dangling
docs.jsonnav refs; the newui-kit/android/ongoing-callentry resolves. - No 404s: 0 removed/renamed files, so redirects aren't needed (delta +0). No chained redirects.
- Links: 0 broken internal links or anchors across 70 scanned
ui-kit/android/files and 30calls/android/files. - Images: every image ref on the changed pages resolves. No TODO/FIXME/placeholders.
- API accuracy (spot-checked at
v6.2.0/ Pushrelease/2.0):launchOngoingCallActivity(both overloads, both toolkits),CallRingingUtils.buildIncomingCall(parameters match),permissionsForCallType(mic, plus camera only for video),CallInitiationUtils.initiateUserCall,CometChatCallActivity.launchOutgoingCallScreen,getIncomingCallTheme/incomingCallTheme/CometChatIncomingCallTheme,CometChatCallEvent.{OutgoingCall,CallAccepted,CallRejected,CallEnded},setOnCallInitiated/setOnStartDirectCall/setOnCallTypeIconClick/onCallIconClick/onAcceptRequested,DEFAULT_RING_TIMEOUT_MS45 000 /DEFAULT_CLOSE_GRACE_MS1 500,ACTIVE_CALL/CALL_IN_PROGRESS. Thecometchat_pn_call_*light/dark hex values incolor-resources.mdxmatchchatuikit-core/src/main/res/values{,-night}/cometchat_pn_ring_theme.xml. Push SDK:CallBundles.getCall,IncomingCallfields,CometChatCallNotifications.answer/decline/onIncomingCallScreenOpened/Closed,ensureRingReady,PNCallback.valueOrNull,setIncomingCallTheme. - Pre-existing, not from this PR:
/ui-kit/android/llms-android-v6isn't in the nav. That looks intentional for an llms index page. - Skipped: no Mintlify build or preview render was run locally. The Mintlify preview bot reports 🟢 Ready.
… on #607) At v6.2.0 calls-sdk-android is compileOnly in all three UI Kit modules and absent from the published POMs; every sample app declares it itself. The restored pages said the UI Kit "brings" or "ships with" it. - Every UI Kit calling snippet adds implementation("com.cometchat:calls-sdk-android:5.1.0"): Calling Integration step 1 (both tabs), the three Getting Started pages (version catalog + Gradle tabs), Call Logs, and the Android push page. - "brings / ships with / comes with the Calls SDK" reworded on Calling Integration, Call Features, Call Logs, Getting Started x3, the push page, Upgrading from v5 and the legacy-ringing migration intro. - The enableCalling + artifact pairing is back as a Warning on Calling Integration, in the Getting Started notes, the llms troubleshooting row and a new Troubleshooting row, with the 6.2.0 behaviour: init logs "Calls SDK is not on the classpath; skipping Calls init" and the calling components then throw NoClassDefFoundError (older kits crashed at launch). - Push page keeps both paths: UI Kit + Calls SDK, and the SDK-direct chat-sdk-android 5.1.1 / calls-sdk-android 5.1.0 coordinates. - Ongoing Call prerequisites: nothing to declare for permissions, same as Calling Integration and Upgrading from v5. - Getting Started: Android Gradle Plugin 8.9.1 / compileSdk 36 instead of "Gradle plugin 4.0.1" and "8.0+". - Methods: setCallSettingsBuilder takes Any (UIKitSettings.kt:196). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
jitvarpatil
left a comment
There was a problem hiding this comment.
🤖 Review Buddy (review-docs-pr)
Recommendation: request changes. Automated review; the final decision stays with a maintainer.
Re-review at b611dd3, following the earlier review of f39c274.
TL;DR: The P0 from the first review is fixed. Every UI Kit calling snippet now adds calls-sdk-android:5.1.0. The "brings / ships with" wording is gone. The enableCalling + artifact pairing is back on Calling Integration, all three Getting Started pages, Troubleshooting and the llms index. The push page keeps both the UI Kit and SDK-direct paths. All three P2 nits are fixed too. One new problem came in with the fix: the new text says that with the artifact missing, "the calling components then crash with NoClassDefFoundError". At v6.2.0 they don't crash. Each one checks CallsUtils.isCallsSDKAvailable() and fails quietly. So the symptom the pages describe isn't what a developer will see. The build is still safe and there are still no 404s or broken links.
P0: blocker
None.
P1: should fix before merge
-
The missing-Calls-SDK symptom is wrong for 6.2.0. The components fail quietly instead of crashing. At
v6.2.0:- Call Logs:
CometChatCallLogsViewModel.kt:127returns early when the SDK is absent. It logs "Calls SDK is not on the classpath; skipping call-log fetch" and shows the empty state. - Call screen:
CometChatOngoingCallViewModel.kt:235(ENG-39311) logs "cannot start the ongoing call" and returns. - Call Buttons:
CallInitiationUtils.kt:73returnsResult.failure(CometChatException("CALLS_SDK_MISSING", …)). Its listeners are gated too (CometChatCallButtonsViewModel.kt:177,213).
Where it's stated:
ui-kit/android/calling-integration.mdx:69: "the calling components you then show (Call Buttons, Call Logs, the call screens) crash withNoClassDefFoundError"ui-kit/android/getting-started-kotlin.mdx:51andgetting-started-jetpack.mdx:51: "the calling components then crash withNoClassDefFoundError"ui-kit/android/troubleshooting.mdx:82: the symptom column starts with the crash. The init log string is right; keep it.ui-kit/android/call-logs.mdx:41(touched by this PR) says theNoClassDefFoundErrorrow "applies to every app that does not declare the artifact". The Warning above it (:15-23, unchanged) saysCometChatCallLogshas "no availability check" and CRASHES. That was true before ENG-39311 but no longer is at 6.2.0. Theabsentrow should read "empty list +skipping call-log fetchwarning in logcat". Thepresent/enableCalling=falserow (CometChatCalls.init()RuntimeException) wasn't re-checked here. Verify it on device before keeping it.ui-kit/android/llms-android-v6.mdx:138: same crash framing for agents.
Fix: describe the 6.2.0 behaviour. Init logs
…not on the classpath; skipping Calls init. Call Logs then shows an empty list, the call buttons fail withCALLS_SDK_MISSING, and the call screen doesn't start. Each one logs a "Calls SDK is not on the classpath" warning. Keep the crash for "older UI Kits" only, if that's still worth mentioning. - Call Logs:
P2: nits
notifications/android-push-notifications.mdx:53: the unchanged intro "Two CometChat artifacts, published in lockstep. The calls one is optional" no longer fits. The snippet below it now lists the UI Kit, the Calls SDK and both push artifacts. Reword it, e.g. "The Push Notifications SDK is two artifacts…".notifications/android-push-notifications.mdx:95: in the UI Kit block, the commentimplementation(libs.cometchat.calls) // needed with the calls modulesuggests a UI Kit app only needs the Calls SDK for ringing. WithsetEnableCalling(true)it needs it for any calling. Suggest// needed for calling (enableCalling) and for the calls module.
Earlier findings: status at b611dd3
- ✅ P0 (UI Kit "brings" the Calls SDK): fixed.
calls-sdk-android:5.1.0is in Calling Integration step 1 (both tabs), Getting Started ×3 (catalog + Gradle tabs), Call Logs, the push page and Upgrading from v5. The wording was fixed on every page that said it. The pairing Warning is restored atcalling-integration.mdx:69, and there's a new Troubleshooting row. Checked againstv6.2.0:compileOnly(libs.calls.sdk.android)atchatuikit-core/build.gradle.kts:140,chatuikit-kotlin:209,chatuikit-compose:207. The init log string matchesCometChatUIKit.kt:152-153. - ✅ P1 (SDK-direct coordinates on the push page): fixed. The TOML has
cometchat-sdk(chat-sdk-android5.1.1) andcometchat-calls(5.1.0). The Gradle block shows both the UI Kit path and the SDK-direct path. - ✅ P2 permissions wording:
ongoing-call.mdx:149now says "nothing to declare", matching Calling Integration and Upgrading from v5. - ✅ P2 AGP:
getting-started.mdx:45now says AGP 8.9.1 andcompileSdk36.coreKtx = "1.18.0"atv6.2.0. - ✅ P2
setCallSettingsBuilder:methods.mdx:78now says it's typedAny.
What passed
- Build is safe: 0 dangling
docs.jsonnav refs. Theui-kit/android/ongoing-callentry resolves. - No 404s: nothing removed or renamed, redirect delta +0, no chained redirects.
- Links: 0 broken internal links across
ui-kit/android/(70 files),calls/android/(30) andnotifications/(26). - Orphans: only
/ui-kit/android/llms-android-v6. It was already orphaned before this PR, which looks intentional for an llms index. - API spot-checks from the first review still hold. Commit 2 only changed dependency and wording text.
- Skipped: no local Mintlify build or render. The Mintlify preview bot reports 🟢 Ready. No on-device check of the missing-artifact behaviour; the finding above comes from reading the
v6.2.0source.
jitvarpatil
left a comment
There was a problem hiding this comment.
✅ Approved via Review Buddy after an automated review (P0: 0 · P1: 1 · P2: 2).
Findings: #607 (review)
…view Buddy round 2 on #607) Since ENG-39311 every calling component checks CallsUtils.isCallsSDKAvailable(): Call Logs returns early with the empty state ("skipping call-log fetch"), CallInitiationUtils returns a CALLS_SDK_MISSING failure, and the ongoing call screen logs "cannot start the ongoing call" and returns. The pages said the components crash with NoClassDefFoundError; that was true before 6.2.0 only. - Calling Integration warning, Getting Started (Kotlin/Compose) notes, Troubleshooting row, llms row: describe the quiet failure, keep the crash for UI Kits before 6.2.0. - Call Logs: the Warning no longer says the component CRASHES; the absent-artifact row is "empty list + logcat warning", the enableCalling=false row is an error state the Calls SDK reports. - Push page: the dependencies intro names the Push SDK's two artifacts and the UI Kit / SDK lines around them; the Calls SDK comment covers calling as a whole, not only the calls module. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
jitvarpatil
left a comment
There was a problem hiding this comment.
🤖 Review Buddy (review-docs-pr)
Recommendation: approve. Automated review; the final decision stays with a maintainer.
Round 3, reviewing 0234bed. Earlier rounds reviewed f39c274 and b611dd3.
TL;DR: The round-2 P1 and both P2s are fixed. The pages now describe what UI Kit 6.2.0 actually does when the Calls SDK is missing: init logs a warning and skips the Calls SDK, Call Logs shows the empty state, the call buttons fail with CALLS_SDK_MISSING, and the call screen doesn't start. The pre-6.2.0 crash is kept as history. I checked each of those claims against the v6.2.0 source. One small wording nit is left. The build is safe, and there are no 404s or broken links.
P0: blocker
None.
P1: should fix before merge
None.
P2: nits
ui-kit/android/calling-integration.mdx:69has two small problems:- "it logs
…skipping Calls init, finishes chat init without calling." is a comma splice. Use "…and finishes chat init without calling." - "each with its own
Calls SDK is not on the classpathwarning in logcat" isn't true for the call buttons.CallInitiationUtils.kt:74-77returnsCometChatException("CALLS_SDK_MISSING", "calls-sdk-android is not on the classpath"), andCometChatCallButtonsViewModel.kt:136-148sends it to the error state/onErrorwithout logging it. Only Call Logs (CometChatCallLogsViewModel.kt:130) and the call screen (CometChatOngoingCallViewModel.kt:237) write that warning to logcat. Suggested fix: "Call Logs and the call screen logCalls SDK is not on the classpath; the call buttons reportCALLS_SDK_MISSINGthroughonError." The init warning still shows up in logcat in every case, so the Troubleshooting row attroubleshooting.mdx:82is fine as written.
- "it logs
Earlier findings: status at 0234bed
- ✅ P1 (missing-Calls-SDK symptom was a crash): fixed in
calling-integration.mdx:69,getting-started-kotlin.mdx:51,getting-started-jetpack.mdx:51,troubleshooting.mdx:82,llms-android-v6.mdx:138andcall-logs.mdx:15-25. Checked againstv6.2.0:- The Call Logs
absentrow matchesCometChatCallLogsViewModel.kt:126-134, which logs "skipping call-log fetch" and setsCallLogsUIState.Empty. - The
present/enableCalling=falserow ("Error state") matches theonFailure→CallLogsUIState.Errorpath at:160-162. The source comment at:125says the same. I didn't check this on a device. - No page still says "crash" for 6.2.0.
NoClassDefFoundErrornow appears only as pre-6.2.0 history.
- The Call Logs
- ✅ P2 (push page intro):
android-push-notifications.mdx:53now says "The Push Notifications SDK is two artifacts…" and names the UI Kit / Chat / Calls lines in the snippet. - ✅ P2 (push page Calls comment):
:96now says "needed for calling (enableCalling) and for the calls module". - ✅ The round-1 P0 (UI Kit "brings" the Calls SDK) is still fixed. A grep for "brings / ships with / bundles the Calls" across
ui-kit/android,calls/androidand the push page finds nothing.
What passed
- Build is safe: 0 dangling
docs.jsonnav refs.ui-kit/android/ongoing-callresolves. - No 404s: nothing removed or renamed, redirect delta +0 (927 → 927), and no chained redirects.
- Links: 0 broken internal links across
ui-kit/android/(70 files),calls/android/(30) andnotifications/(26). - Orphans: only
/ui-kit/android/llms-android-v6. It was already orphaned before this PR, which looks intentional for an llms index. - Placeholders: no TODO/FIXME/TBD in the new or rewritten pages.
- Skipped: I didn't run a local Mintlify build or render; the Mintlify preview bot reports 🟢 Ready at
0234bed. I didn't test the missing-artifact behaviour on a device; the notes above come from reading thev6.2.0source.
jitvarpatil
left a comment
There was a problem hiding this comment.
✅ Approved via Review Buddy after an automated review (P0: 0 · P1: 0 · P2: 1).
Findings: #607 (review)
Description
Restores the Android UI Kit ringing docs from #561. UI Kit 6.2.0 is released (public mirror tag
v6.2.0, 11 Nov), on Calls SDK 5.1.0 and Push Notifications SDK 2.0.0, so this puts the UI Kit side back. The Android counterpart of #606 (Flutter); the content is the Android text from #561, not a port.New page
ui-kit/android/ongoing-call.mdx, Ongoing Call: the call screen, opening it from the Push SDK's answer activity withlaunchOngoingCallActivity(context, call), hang-up behaviour and theCallEndedevent.docs.jsonunder UI Kit > Android > Calling.Restored UI Kit pages
setEnableCalling(true), the answer activity that opensCometChatOngoingCallActivity, permissions,CometChatUIKit.logout, what the UI Kit handles from there, placing a call from your own screen, styling the ring screen withgetIncomingCallTheme/incomingCallTheme, and upgrading fromCometChat.addCallListener.CometChatIncomingCallStylemapped toCometChatPNIncomingCallThemefields.Push and Calls SDK pages
The UI Kit sentences removed in 3467256 come back: the UI Kit sample card and UI Kit Gradle example on
notifications/android-push-notifications.mdx,CometChatUIKit.logouton the ringing, VoIP, troubleshooting and legacy-migration pages, the UI Kit theme note on VoIP calling, and "28 with the UI Kit" whereminSdkis stated. The SDK-direct details added since stay: thecompileSdk36 / AGP 8.9.1 requirement, the link to "Join from the answer activity" for SDK-direct apps,CometChatCalls.logoutnext to the UI Kit logout, and the dashboard setting for mixed legacy/new ringing.Checked against the released packages: UI Kit
v6.2.0, Calls SDK 5.1.0, Push Notifications SDK 2.0.0.v6.2.0tag:CometChatOngoingCallActivityand bothlaunchOngoingCallActivityoverloads,CallRingingUtils,CallInitiationUtils,CometChatIncomingCallTheme/getIncomingCallTheme/incomingCallTheme, theCometChatCallEventvariants onCometChatEvents.callEvents, and the component style classes.CallRingingUtils.permissionsForCallType).com.cometchat:chatuikit-core-android.docs.jsonparses.Type of Change
Checklist
Additional Information
mainafter the hold, so nothing newer is overwritten.sample-app-kotlin-push,sample-app-compose-push) on the public mirror are on Push 2.0.0 as ofv6.2.0, so the sample card is valid again.NO_INTERNETerror code and thesetSessionActive(deprecated, not removed) wording on the Calls SDK pages. Those are Calls SDK page fixes, separate from this restore.Screenshots (if applicable)
N/A. Text and table changes only; the images referenced already exist in
/images.🤖 Generated with Claude Code